import 'package:finance_app/generated/json/base/json_convert_content.dart';
import 'package:finance_app/generated/json/base/json_field.dart';
import 'package:finance_app/src/entities/employee_contact_entity.dart';
import 'package:finance_app/src/entities/transaction_entity.dart';

class PayslipsItemEntity with JsonConvert<PayslipsItemEntity> {
  @JSONField(name: "data_type")
  String dataType;
  int id;
  @JSONField(name: "company_id")
  int companyId;
  @JSONField(name: "employee_id")
  int employeeId;
  @JSONField(name: "payment_type_id")
  dynamic paymentTypeId;
  @JSONField(name: "payment_type_name")
  String paymentTypeName;
  @JSONField(name: "paid_at")
  String paidAt;
  String number;
  @JSONField(name: "start_date")
  String startDate;
  @JSONField(name: "end_date")
  String endDate;
  @JSONField(name: "total_days")
  num totalDays;
  @JSONField(name: "actual_days")
  num actualDays;
  String contribution;
  @JSONField(name: "contribution_amount")
  String contributionAmount;
  @JSONField(name: "income_data")
  List<EmployeeContactIncomeData> incomeData;
  @JSONField(name: "deduction_data")
  List<EmployeeContactDeductionData> deductionData;
  List<TransactionEntity> payments;
  num total;
  @JSONField(name: "employee_cpf")
  double employeeCpf;
  @JSONField(name: "employer_cpf")
  int employerCpf;
  @JSONField(name: "nett_amount")
  num nettAmount;
  num reimbursement;
  @JSONField(name: "error_message")
  dynamic errorMessage;
  @JSONField(name: "bank_account_name")
  String bankAccountName;
  @JSONField(name: "bank_account_number")
  String bankAccountNumber;
  @JSONField(name: "bank_name")
  String bankName;
  @JSONField(name: "bank_code")
  String bankCode;
  @JSONField(name: "bank_branch_code")
  String bankBranchCode;
  String status;
  @JSONField(name: "created_by")
  dynamic createdBy;
  @JSONField(name: "created_at")
  String createdAt;
  @JSONField(name: "deleted_at")
  String deletedAt;

  @JSONField(name: "employee_name")
  String name;
}
